unit UnitComissao;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UnitModelo, ImgList, ActnList, DB, ADODB, ComCtrls, ToolWin,
  Grids, DBGrids, SMDBGrid, StdCtrls, Mask, ExtCtrls, DBCtrls, jpeg;

type
  TFormComissao = class(TFormModelo)
    qryCalculo: TADOQuery;
    qryCalculoCALGUIA_CODIGO: TAutoIncField;
    qryCalculoCALGUIA_DESCRICAO: TStringField;
    qryFranGrupo: TADOQuery;
    dsFranGrupo: TDataSource;
    qryFranGrupoGRUPO_CODIGO: TIntegerField;
    qryFranGrupoFRANQUIA_CODIGO: TIntegerField;
    qryPostos: TADOQuery;
    qryPostosCODIGO: TIntegerField;
    qryPostosNOME_FANTASIA: TStringField;
    qryFranGrupoDescricao: TStringField;
    qryDadosGuias: TStringField;
    qryDadosGRUPO_ATT: TStringField;
    qryAjusteGrupo: TADOQuery;
    dsAjusteGrupo: TDataSource;
    qryBanco: TADOQuery;
    qryDadosBanco: TStringField;
    dsBanco: TDataSource;
    qryDadosGRUPO_CODIGO: TIntegerField;
    qryDadosGRUPO_TIPOCONTA: TStringField;
    GRUPOINI: TMaskEdit;
    Label4: TLabel;
    Label5: TLabel;
    GRUPOFIM: TMaskEdit;
    tsPostos: TTabSheet;
    SMDBGrid1: TSMDBGrid;
    TabSheet3: TTabSheet;
    DBRichEdit1: TDBRichEdit;
    TabSheet4: TTabSheet;
    GroupBox1: TGroupBox;
    Label15: TLabel;
    DBText15: TDBText;
    DBText5: TDBText;
    Label7: TLabel;
    Label8: TLabel;
    DBText6: TDBText;
    DBText7: TDBText;
    Label16: TLabel;
    Label11: TLabel;
    DBText11: TDBText;
    Label14: TLabel;
    DBText14: TDBText;
    Label12: TLabel;
    DBText12: TDBText;
    DBText13: TDBText;
    Label13: TLabel;
    Label6: TLabel;
    DBText4: TDBText;
    DBCheckBox2: TDBCheckBox;
    GroupBox4: TGroupBox;
    dbgAjustes: TSMDBGrid;
    Panel2: TPanel;
    DBText9: TDBText;
    Label9: TLabel;
    Label1: TLabel;
    DBText1: TDBText;
    qryDadosGRUPO_OI: TBCDField;
    qryDadosGRUPO_TIM: TBCDField;
    Label2: TLabel;
    DBText2: TDBText;
    Label3: TLabel;
    DBText3: TDBText;
    qryGrupos: TADOQuery;
    qryGruposGRUPO_CODIGO: TIntegerField;
    qryGruposGRUPO_DESCRICAO: TStringField;
    qryDadosCOMISSAO_PERIODO: TStringField;
    qryDadosCOMISSAO_JUNTAR: TStringField;
    qryDadosCOMISSAO_BANCO: TSmallintField;
    qryDadosCOMISSAO_AGENCIA: TStringField;
    qryDadosCOMISSAO_TITULAR: TStringField;
    qryDadosCOMISSAO_GARANTIA: TBCDField;
    qryDadosCOMISSAO_OBS: TMemoField;
    qryDadosCOMISSAO_AJUSTES: TBCDField;
    qryDadosCOMISSAO_CONTA: TStringField;
    qryDadosCOMISSAO_NDEPOSITAR: TStringField;
    qryDadosGRUPO_CREDIGI: TBCDField;
    qryDadosCALGUIA_CODIGO: TIntegerField;
    qryDadosGRUPO_DESCRICAO: TStringField;
    qryDadosCOMISSAO_ISS: TBCDField;
    DBCheckBox1: TDBCheckBox;
    qryFranGrupoCOMISSAO_PERIODO: TStringField;
    qryFranGrupoCLARO15: TIntegerField;
    qryFranGrupoCLARO20: TIntegerField;
    qryFranGrupoCLARO30: TIntegerField;
    qryFranGrupoCLARO50: TIntegerField;
    qryFranGrupoOI05: TIntegerField;
    qryFranGrupoOI10: TIntegerField;
    qryFranGrupoOI15: TIntegerField;
    qryFranGrupoOI20: TIntegerField;
    qryFranGrupoOI25: TIntegerField;
    qryFranGrupoOI50: TIntegerField;
    qryFranGrupoTIM15: TIntegerField;
    qryFranGrupoTIM20: TIntegerField;
    qryFranGrupoTIM25: TIntegerField;
    qryFranGrupoTIM35: TIntegerField;
    qryFranGrupoTIM50: TIntegerField;
    qryFranGrupoGUIAS: TIntegerField;
    qryFranGrupoMEDIA: TBCDField;
    PERIODO: TMaskEdit;
    Label10: TLabel;
    qryAjusteGrupoGRUPO_CODIGO: TIntegerField;
    qryAjusteGrupoCOMISSAO_PERIODO: TStringField;
    qryAjusteGrupoAJUSTEGRUPO_DESCRICAO: TStringField;
    qryAjusteGrupoAJUSTECOMISSAO_VALOR: TBCDField;
    qryFranGrupoEMBLDR10: TIntegerField;
    qryFranGrupoEMBLDR15: TIntegerField;
    qryFranGrupoEMBLDR30: TIntegerField;
    qryFranGrupoEMBLDR45: TIntegerField;
    qryFranGrupoEMBLDR90: TIntegerField;
    qryFranGrupoEMBLIVRE07: TIntegerField;
    qryFranGrupoEMBLIVRE15: TIntegerField;
    qryFranGrupoEMBLIVRE21: TIntegerField;
    qryFranGrupoEMBLIVRE50: TIntegerField;
    qryFranGrupoEMBLIVRE70: TIntegerField;
    qryFranGrupoEMBLIVRE90: TIntegerField;
    qryFranGrupoEMBLDR20: TIntegerField;
    qryFranGrupoCLARO10: TIntegerField;
    qryFranGrupoEMBLIVRE55: TIntegerField;
    qryFranGrupoEMBLIVRE75: TIntegerField;
    qryFranGrupoVALEGAS: TBCDField;
    qryFranGrupoTIM100: TIntegerField;
    qryFranGrupoTIM: TIntegerField;
    qryFranGrupoOI: TIntegerField;
    qryFranGrupoCLARO: TIntegerField;
    qryFranGrupoEMBLDR: TIntegerField;
    qryFranGrupoEMBLIVRE: TIntegerField;
    procedure qryDadosAfterOpen(DataSet: TDataSet);
    procedure qryDadosBeforeClose(DataSet: TDataSet);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure actNovoExecute(Sender: TObject);
    procedure actAlterarExecute(Sender: TObject);
    procedure qryDadosBeforeOpen(DataSet: TDataSet);
    procedure qryFranGrupoAfterInsert(DataSet: TDataSet);
    procedure qryAjusteGrupoAfterInsert(DataSet: TDataSet);
    procedure qryDadosAfterScroll(DataSet: TDataSet);
    procedure qryCooperadosAfterInsert(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormComissao: TFormComissao;

implementation

uses UnitPrincipal, UnitCadComissao;

{$R *.dfm}

procedure TFormComissao.qryDadosAfterOpen(DataSet: TDataSet);
begin
  inherited;
  qryPostos.Open;
  qryFranGrupo.Open;
  qryAjusteGrupo.Open;
  dbgRelacao.CalculateTotals;
//  qryCooperados.Open;
end;

procedure TFormComissao.qryDadosBeforeClose(DataSet: TDataSet);
begin
  inherited;
  qryCalculo.Close;
  qryPostos.Close;
  qryFranGrupo.Close;
  qryAjusteGrupo.Close;
  qrybanco.Close;
//  qryCooperados.Close;
end;

procedure TFormComissao.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  FormComissao := nil;
end;

procedure TFormComissao.actNovoExecute(Sender: TObject);
begin
  inherited;
  FormPrincipal.cnRegente.BeginTrans;
  qryDados.Insert;
  qryDadosGRUPO_CREDIGI.Value := 5;
  qryDadosCOMISSAO_JUNTAR.Value := 'N';
  if FormCadComissao = nil then
    FormCadComissao := TFormCadComissao.Create(Self);
  if FormCadComissao.ShowModal = mrOk then
    FormPrincipal.cnRegente.CommitTrans
  else
  begin
    FormPrincipal.cnRegente.RollbackTrans;
    qryDados.Refresh;
  end;
end;

procedure TFormComissao.actAlterarExecute(Sender: TObject);
begin
  inherited;
  FormPrincipal.cnRegente.BeginTrans;
  qryDados.Edit;
  if FormCadComissao = nil then
    FormCadComissao := TFormCadComissao.Create(Self);
  FormCadComissao.dbeNumero.Enabled := False;
  if FormCadComissao.ShowModal = mrOk then
    FormPrincipal.cnRegente.CommitTrans
  else
  begin
    FormPrincipal.cnRegente.RollbackTrans;
    qryDados.Refresh;
  end;
end;

procedure TFormComissao.qryDadosBeforeOpen(DataSet: TDataSet);
begin
  inherited;
  qryCalculo.Open;
  qrybanco.Open;
end;

procedure TFormComissao.qryFranGrupoAfterInsert(DataSet: TDataSet);
begin
  inherited;
  if qryDados.State = dsinsert then
    qryDados.Post;
  if not(qryFranGrupo.State in [dsinsert,dsEdit]) then
    qryFranGrupo.Edit;
  qryFranGrupoGRUPO_CODIGO.Value := qryDadosGRUPO_CODIGO.Value;
end;

procedure TFormComissao.qryAjusteGrupoAfterInsert(DataSet: TDataSet);
begin
  inherited;
  if qryDados.State = dsinsert then
    qryDados.Post;
  if not(qryAjusteGrupo.State in [dsinsert,dsEdit]) then
    qryAjusteGrupo.Edit;
  qryAjusteGrupoGRUPO_CODIGO.Value := qryDadosGRUPO_CODIGO.Value;
end;

procedure TFormComissao.qryDadosAfterScroll(DataSet: TDataSet);
begin
  inherited;
  dbgAjustes.CalculateTotals;
//  tsCooperativa.Visible := (qryDadosGRUPO_COOPERATIVA.Value = 'S');
end;

procedure TFormComissao.qryCooperadosAfterInsert(DataSet: TDataSet);
begin
  inherited;
  if qryDados.State = dsinsert then
    qryDados.Post;
{  if not(qryCooperados.State in [dsinsert,dsEdit]) then
    qryCooperados.Edit;
  qryCooperadosCOOPERADO_CODIGO.Value := qryDadosGRUPO_CODIGO.Value;}
end;

end.
